CStack Class

A Stack collection is an ordered set of data items, which are accessed on a LIFO (Last-In / First-Out) basis. Each data item is passed and stored as a variant variable, using the Push and Pop methods.

Include file: AfxNova/CStack.inc

Methods

Name Description
Push Appends a variant at the end of the collection.
Pop Gets and removes the last element of the collection.
Count Returns the number of elements in the collection.
Clear Removes all the elements in the collection.

CQueue Class

A Queue` collection is an ordered set of data items, which are accessed on a FIFO (First-In / First-Out) basis. Each data item is passed and stored as a variant variable, using the Enqueue and Dequeue methods.

Include file: AfxNova/CStack.inc

Methods

Name Description
Enqueue Appends a variant at the end of the collection.
Dequeue Gets and removes the first element of the collection.
Count Returns the number of elements in the collection.
Clear Removes all the elements in the collection.

Push (CStack)

Appends a variant at the end of the collection.

FUNCTION Push (BYREF dv AS DVARIANT) AS HRESULT

Return value

Returns S_OK on success, or an error HRESULT on failure. Error DISP_E_ARRAYISLOCKED: The array is locked.

Usage example:

#INCLUDE ONCE "AfxNova/CStack.inc"
USING AfxNova

DIM pStack AS CStack
pStack.Push "String 1"
pStack.Push "String 2"
DIM dv AS DVARIANT
dv = pStack.Pop
PRINT dv
dv = pStack.Pop
PRINT dv

' --or--

PRINT pStack.Pop
PRINT pStack.Pop

Pop (CStack)

Gets and removes the last element of the collection.

FUNCTION Pop () AS DVARIANT

Return value

A Variant. If there are no elements to pop, the returned variant will be empty.


Count (CStack)

Returns the number of elements in the collection.

FUNCTION Count () AS UINT

Clear (CStack)

Returns the number of elements in the collection.

FUNCTION Clear () AS HRESULT

Return value

Returns S_OK on success, or an error HRESULT on failure.


Enqueue (CQueue)

Appends a variant at the end of the collection.

FUNCTION Enqueue (BYREF dv AS DVARIANT) AS HRESULT

Return value

Returns S_OK on success, or an error HRESULT on failure.

Error DISP_E_ARRAYISLOCKED: The array is locked.

Usage example:

#INCLUDE ONCE "AfxNova/CStack.inc"
USING AfxNova

DIM pQueue AS CQueue
pQueue.Enqueue "String 1"
pQueue.Enqueue 12345.12
print pQueue.Dequeue
print pQueue.Dequeue

Dequeue (CQueue)

Gets and removes the first element of the collection.

FUNCTION Dequeue () AS DVARIANT

Return value

A Variant. If there are no elements to dequeue, the returned variant will be empty.


Count (CQueue)

Returns the number of elements in the collection.

FUNCTION Count () AS UINT

Clear (CQueue)

Removes all the elements in the collection.

FUNCTION Clear () AS HRESULT

Return value

Returns S_OK on success, or an error HRESULT on failure.